/*
    Buffer(缓冲区)
        - Buffer的结构和数组很像，操作的方法也和数组类似
        - 数组中不能存储二进制的文件，而Buffer就是专门用来存储二进制数据
        - 使用buffer不需要引入模块，直接使用即可
        - 在buffer中存储的都是二进制数据，但是在显示时都是以16进制的形式显示
            buffer中每一个元素的范围是从00-ff
        - buffer的大小一旦确定，则不能修改，
 */

var str = "Hello Luoguoxuan";

// 将一个字符串保存到buffer中
/*var buf = Buffer.from(str);*/

/*
console.log(buf)
console.log(str.length)// 字符串的长度
console.log(buf.length) // 内存占用的大小
*/

// 创建一个指定大小的buffer
// buffer构造函数已废弃,不推荐使用
// var buf2 = new Buffer(10);
var buf2 = Buffer.alloc(10)
// 通过索引，来操作buf中的元素
buf2[0] = 88
buf2[1] = 255
buf2[2] = 0xaa
buf2[10] = 15
console.log(buf2.length)
console.log(buf2)

// 只要数字在控制台或页面中输出，一定是10进制
console.log(buf2[2].toString(10))

// Buffer.allocUnsafe(size) 创建一个指定大小的buffer，但是buffer中可能含有敏感数据
var buf3 = Buffer.allocUnsafe(10);
console.log(buf3)










